#ifndef APP_DATA_HPP
#define APP_DATA_HPP

#include <vector>

#include <aerDefs.hpp>
#include <device/aerProgram.hpp>
#include <view/aerFreeCamera.hpp>

class Scene;//


///
/// Contains application-wise datas
///
class Data
{
  public:
    struct Viewer
    {
      aer::FreeCamera *camera;
    } viewer;
    
    struct EffectParams
    {
      aer::Vector2 linearizationParams;
    } effectsParams;
    
    Scene *pScene;
    
  
  public:
    Data();
    ~Data();
    
    void init(Scene *pScene);
    void update();
    void resize( const int width, const int height);
    void release();
};

#endif //APP_DATA_HPP
